package com.guigu.qingcheng.pojo;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.guigu.qingcheng.utils.LongJsonDeserializer;
import com.guigu.qingcheng.utils.LongJsonSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.ToString;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

@ToString
@ApiModel("")
@Table(name = "tb_return_order")
public class TbReturnOrder implements Serializable {
    /**
     * 服务单号
     */
    @ApiModelProperty(value = "服务单号")
    @NotNull(message="服务单号不能为空")
    @Id
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long id;

    /**
     * 订单号
     */
    @ApiModelProperty(value = "订单号")
    @Column(name = "order_id")
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long orderId;

    /**
     * 申请时间
     */
    @ApiModelProperty(value = "申请时间")
    @Column(name = "apply_time")
    private Date applyTime;

    /**
     * 用户ID
     */
    @ApiModelProperty(value = "用户ID")
    @Column(name = "user_id")
    private Long userId;

    /**
     * 用户账号
     */
    @ApiModelProperty(value = "用户账号")
    @Column(name = "user_account")
    private String userAccount;

    /**
     * 联系人
     */
    @ApiModelProperty(value = "联系人")
    private String linkman;

    /**
     * 联系人手机
     */
    @ApiModelProperty(value = "联系人手机")
    @Column(name = "linkman_mobile")
    private String linkmanMobile;

    /**
     * 类型
     */
    @ApiModelProperty(value = "类型")
    private String type;

    /**
     * 退款金额
     */
    @ApiModelProperty(value = "退款金额")
    @Column(name = "return_money")
    private Integer returnMoney;

    /**
     * 是否退运费
     */
    @ApiModelProperty(value = "是否退运费")
    @Column(name = "is_return_freight")
    private String isReturnFreight;

    /**
     * 申请状态
     */
    @ApiModelProperty(value = "申请状态")
    private String status;

    /**
     * 处理时间
     */
    @ApiModelProperty(value = "处理时间")
    @Column(name = "dispose_time")
    private Date disposeTime;

    /**
     * 退货退款原因
     */
    @ApiModelProperty(value = "退货退款原因")
    @Column(name = "return_cause")
    private Integer returnCause;

    /**
     * 凭证图片
     */
    @ApiModelProperty(value = "凭证图片")
    private String evidence;

    /**
     * 问题描述
     */
    @ApiModelProperty(value = "问题描述")
    private String description;

    /**
     * 处理备注
     */
    @ApiModelProperty(value = "处理备注")
    private String remark;

    /**
     * 管理员id
     */
    @ApiModelProperty(value = "管理员id")
    @Column(name = "admin_id")
    private Integer adminId;

    /**
     * 获取服务单号
     *
     * @return id - 服务单号
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置服务单号
     *
     * @param id 服务单号
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取订单号
     *
     * @return order_id - 订单号
     */
    public Long getOrderId() {
        return orderId;
    }

    /**
     * 设置订单号
     *
     * @param orderId 订单号
     */
    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    /**
     * 获取申请时间
     *
     * @return apply_time - 申请时间
     */
    public Date getApplyTime() {
        return applyTime;
    }

    /**
     * 设置申请时间
     *
     * @param applyTime 申请时间
     */
    public void setApplyTime(Date applyTime) {
        this.applyTime = applyTime;
    }

    /**
     * 获取用户ID
     *
     * @return user_id - 用户ID
     */
    public Long getUserId() {
        return userId;
    }

    /**
     * 设置用户ID
     *
     * @param userId 用户ID
     */
    public void setUserId(Long userId) {
        this.userId = userId;
    }

    /**
     * 获取用户账号
     *
     * @return user_account - 用户账号
     */
    public String getUserAccount() {
        return userAccount;
    }

    /**
     * 设置用户账号
     *
     * @param userAccount 用户账号
     */
    public void setUserAccount(String userAccount) {
        this.userAccount = userAccount;
    }

    /**
     * 获取联系人
     *
     * @return linkman - 联系人
     */
    public String getLinkman() {
        return linkman;
    }

    /**
     * 设置联系人
     *
     * @param linkman 联系人
     */
    public void setLinkman(String linkman) {
        this.linkman = linkman;
    }

    /**
     * 获取联系人手机
     *
     * @return linkman_mobile - 联系人手机
     */
    public String getLinkmanMobile() {
        return linkmanMobile;
    }

    /**
     * 设置联系人手机
     *
     * @param linkmanMobile 联系人手机
     */
    public void setLinkmanMobile(String linkmanMobile) {
        this.linkmanMobile = linkmanMobile;
    }

    /**
     * 获取类型
     *
     * @return type - 类型
     */
    public String getType() {
        return type;
    }

    /**
     * 设置类型
     *
     * @param type 类型
     */
    public void setType(String type) {
        this.type = type;
    }

    /**
     * 获取退款金额
     *
     * @return return_money - 退款金额
     */
    public Integer getReturnMoney() {
        return returnMoney;
    }

    /**
     * 设置退款金额
     *
     * @param returnMoney 退款金额
     */
    public void setReturnMoney(Integer returnMoney) {
        this.returnMoney = returnMoney;
    }

    /**
     * 获取是否退运费
     *
     * @return is_return_freight - 是否退运费
     */
    public String getIsReturnFreight() {
        return isReturnFreight;
    }

    /**
     * 设置是否退运费
     *
     * @param isReturnFreight 是否退运费
     */
    public void setIsReturnFreight(String isReturnFreight) {
        this.isReturnFreight = isReturnFreight;
    }

    /**
     * 获取申请状态
     *
     * @return status - 申请状态
     */
    public String getStatus() {
        return status;
    }

    /**
     * 设置申请状态
     *
     * @param status 申请状态
     */
    public void setStatus(String status) {
        this.status = status;
    }

    /**
     * 获取处理时间
     *
     * @return dispose_time - 处理时间
     */
    public Date getDisposeTime() {
        return disposeTime;
    }

    /**
     * 设置处理时间
     *
     * @param disposeTime 处理时间
     */
    public void setDisposeTime(Date disposeTime) {
        this.disposeTime = disposeTime;
    }

    /**
     * 获取退货退款原因
     *
     * @return return_cause - 退货退款原因
     */
    public Integer getReturnCause() {
        return returnCause;
    }

    /**
     * 设置退货退款原因
     *
     * @param returnCause 退货退款原因
     */
    public void setReturnCause(Integer returnCause) {
        this.returnCause = returnCause;
    }

    /**
     * 获取凭证图片
     *
     * @return evidence - 凭证图片
     */
    public String getEvidence() {
        return evidence;
    }

    /**
     * 设置凭证图片
     *
     * @param evidence 凭证图片
     */
    public void setEvidence(String evidence) {
        this.evidence = evidence;
    }

    /**
     * 获取问题描述
     *
     * @return description - 问题描述
     */
    public String getDescription() {
        return description;
    }

    /**
     * 设置问题描述
     *
     * @param description 问题描述
     */
    public void setDescription(String description) {
        this.description = description;
    }

    /**
     * 获取处理备注
     *
     * @return remark - 处理备注
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 设置处理备注
     *
     * @param remark 处理备注
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * 获取管理员id
     *
     * @return admin_id - 管理员id
     */
    public Integer getAdminId() {
        return adminId;
    }

    /**
     * 设置管理员id
     *
     * @param adminId 管理员id
     */
    public void setAdminId(Integer adminId) {
        this.adminId = adminId;
    }
}